import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';

/**
 * lane = 1
 * legacy 模式： ReactDOM.render(<App />, rootNode)。
 * 这是当前 React app 使用的方式。当前没有计划删除本模式，
 * 但是这个模式可能不支持这些新功能。
 */
// ReactDOM.render(
//     <React.StrictMode>
//         <App />
//     </React.StrictMode>,
//     document.getElementById('root')
// );

/**
 * lane = 2
 * blocking 模式： ReactDOM.createBlockingRoot(rootNode).render(<App />)。
 * 目前正在实验中。作为迁移到 concurrent 模式的第一个步骤。
 */
// ReactDOM.unstable_createBlockingRoot(
//     document.getElementById('root')
// ).render(<App />);

/**
 * lane = 512
 * concurrent 模式： ReactDOM.createRoot(rootNode).render(<App />)。
 * 目前在实验中，未来稳定之后，打算作为 React 的默认开发模式。这个模式开启了所有的新功能。
 */
ReactDOM.unstable_createRoot(
    document.getElementById('root')
).render(<App />);

// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();
